package com.jic.order.entity;

import com.jic.common.base.vo.AdminOperate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.jic.order.model.entity.MOrderBale;
import com.jic.order.model.entity.MOrderGoods;
import com.jic.order.model.entity.MOrderPay;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

/**
 * 订单主表
 *
 * @author :
 * @version : v1.0.0
 * @email :
 * @since : 2020-02-08 12:51:43
 */
@Data
public class Order implements Serializable {

	private static final long serialVersionUID = 1L;

	private AdminOperate adminOperate;

	// 主键ID
	private long id;
	// 请求流水号
	private String serialNo;
	// 订单父编号
	private String parentOrderNo;
	// 订单编号
	private String orderNo;
	// 订单状态，1.待支付 2.已支付3.待发货4.已发货5.确认收货6.待评价7.已关闭8.付款处理中9.已退款10.已完成
	private Integer orderStatus;
	// 0 代表普通下单 1代表代客下单
	private Integer orderType;
	// 冗余-销售渠道
	private Integer saleChannel;
	// 订单标签，VIP、紧急、特别、关注、搁置
	private Integer orderTag;
	// 商户ID
	private long merchantId;
	// 商户名称
	private String merchantName;
	// 店铺ID
	private long storeId;
	// 店铺名称
	private String storeName;
	// 店铺logo
	private String storeLogoUrl;
	// 下单时间
	private Date buyTime;
	// 购买人
	private long buyerId;
	// 购买人用户名
	private String buyerUsername;
	// 购买人真实名称
	private String buyerRealname;
	// 销售总金额
	private BigDecimal saleTotalAmount;
	// 优惠总金额，优惠金额=销售总金额-购买总金额
	private BigDecimal discountTotalAmount;
	// 购买总金额，购买总金额=销售总金额-优惠总金额
	private BigDecimal buyTotalAmount;
	// 物流总费
	private BigDecimal expressTotalFee;
	// 实付总金额，实付总金额=购买总金额+物流费
	private BigDecimal actualPayTotalAmount;
	// 备注
	private String mark;
	// 版本号
	private long version;


	// 团购ID
	private String groupId;
	// 活动ID
	private String promotionId;
	// 活动类型 类型:1单一促销,2满量促销,3满额促销,4秒杀,5赠送类促销,6组合促销7.单品X件优惠,8换购,9预售,11优惠券'
	private String promotionType;

	private Date createTime;

	private Long creator;

	private String creatorName;

	private Date updateTime;

	private Long updater;

	private String updaterName;

	private Boolean deleteFlag;

	private Long deptId;
	//订单类型（0-全部 1-积分订单 2-普通订单）
	private  Integer orderTypeb;
	//来源渠道（0-全部 1-APP 2-商城小程序 3-企业微信 4-We2000公众号 5-商城公众号 6-其他）
	private Integer sources;
	//订单来源（0-全部 1-拼团 2-秒杀 3-预售 4-抽奖）
	private Integer orderSources;
	//收货人手机号
	private  String consigneePhone;

    //商户code
    private String merchantCode;
//    //商品名称
//    private String commodityName;
    //商品编码
    private String commodityCode;
//    //下单人会员号
//    private String purchaserMemberNum;
    //运单编号
    private String waybillNumber;
    //发货日期
    private Date deliveryDate;
    //支付方式（0-全部 1-微信分期 2-We2000 3-微信支付 4-微信银行储蓄卡）
    private Integer payment;
    //是否开发票（0-全部 1-是 2-否）
    private Integer whetherInvoice;
    //结算状态（0-全部 1-未结算 2-已清算 3-轧差中 4-已轧差）
    private Integer balanceSts;
    //订单积分累计
    private BigDecimal orderCumtrapz;
    //商品名称
    private String goodsName;

	//预计发货时间
	private Date predictDeliveryTime;
	//外部订单编号
    private String externalOrderCode;
    //销售商户
    private String salesBusiness;

    //收货人省id
    private Long receiverProvinceId;
    // 收货人省名称
    private String receiverProvinceName;
    // 收货人市id
    private Long receiverCityId;
    // 收货人市名称
    private String receiverCityName;
    //收货人区/县id
    private Long receiverRegionId;
    // 收货人区/县名称
    private String receiverRegionName;
    // 收货人名字
    private String receiverName;
    // 收货人详细地址
    private String receiverAddress;

    private MOrderBale mOrderBale;

    private Integer goodsNum;


}
